package com.shensi.api.admin.domian.station.dto;

import com.shensi.common.core.annotation.Excel;
import com.shensi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * 油站设备管理对象 station_device_manage
 *
 * @author qujia
 * @date 2021-01-13
 */
public class StationDeviceManageDto extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键自增id
     */
    @ApiModelProperty(value = "设备id")
    private Long deviceId;

    /**
     * 设备编号
     */
    @Excel(name = "终端号")
    @ApiModelProperty(value = "终端号")
    @NotNull(message = "deviceNo不能为空")
    private String deviceNo;

    /**
     * 模糊查询设备编号
     */
    @ApiModelProperty(value = "终端号模糊查询字段")
    private String likeDeviceNo;

    /**
     * 设备名称
     */
    @Excel(name = "设备名称")
    @ApiModelProperty(value = "设备名称")
    @NotNull(message = "设备名称不能为空")
    private String deviceName;

    /**
     * 油站id
     */
    @Excel(name = "油站id")
    @ApiModelProperty(value = "油站id")
    @NotNull(message = "油站id不能为空")
    private Long stationId;

    /**
     * 油站名称
     */
    @Excel(name = "油站名称")
    @ApiModelProperty(value = "油站名称")
    private String stationName;

    /**
     * 设备类型
     */
    @Excel(name = "设备类型")
    @ApiModelProperty(value = "设备类型，4 云喇叭 5 新款小票机")
    @NotNull(message = "设备类型不能为空")
    private String deviceType;

    /**
     * 设备序列号
     */
    @Excel(name = "设备序列号")
    @ApiModelProperty(value = "终端密钥")
    private String deviceSerialNum;

    /**
     * 绑定油枪号
     */
    @Excel(name = "绑定油枪号")
    private String gunNo;

    /**
     * 设备状态：1：在用，2：停用，3：维修、保养
     */
    @Excel(name = "设备状态")
    private String deviceStatus;

    /**
     * 设备厂家
     */
    @Excel(name = "设备厂家")
    @ApiModelProperty(value = "设备厂家,1 易联云 2飞蛾  3 云播报设备 4 易联云新款")
    private String deviceFactory;

    /**
     * 交换机名字
     */
    private String posFanoutExchange;

    /**
     * 队列名
     */
    private String posQueue;


    /**
     * 绑定的用户的集合
     */
    private String userIds;
    /**
     * 绑定的用户的集合
     */
    private List<String> userIdList;

    /**
     * 打印的类型，1顾客联 2商家联  3全部打印
     */
    @ApiModelProperty(value = "打印小票机类型")
    private String printType;

    /**
     * 排序
     */
    @ApiModelProperty(value = "排序")
    private Integer sort;

    /**
     * 打印联数
     */
    @ApiModelProperty(value = "打印联数")
    private Integer printNumber;


    /**
     * access_token
     */
    @ApiModelProperty(value = "accessToken")
    private String accessToken;

    /**
     * 应用ID
     */
    @ApiModelProperty(value = "应用ID")
    private String clientId;

    /**
     * 应用密钥
     */
    @ApiModelProperty(value = "应用密钥")
    private String clientSecret;


    /**
     * 自定义语音
     */
    @ApiModelProperty(value = "自定义语音")
    private String audio;


    @ApiModelProperty(value = "油企id")
    private String enterpriseId;

    @ApiModelProperty(value = "是否打印小票")
    private Integer isPrint;


    public Integer getIsPrint() {
        return isPrint;
    }

    public void setIsPrint(Integer isPrint) {
        this.isPrint = isPrint;
    }

    public String getClientSecret() {
        return clientSecret;
    }

    public void setClientSecret(String clientSecret) {
        this.clientSecret = clientSecret;
    }

    public String getEnterpriseName() {
        return enterpriseName;
    }

    public void setEnterpriseName(String enterpriseName) {
        this.enterpriseName = enterpriseName;
    }

    @ApiModelProperty(value = "油企名称")
    private String enterpriseName;


    public String getEnterpriseId() {
        return enterpriseId;
    }

    public void setEnterpriseId(String enterpriseId) {
        this.enterpriseId = enterpriseId;
    }

    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public Integer getPrintNumber() {
        return printNumber;
    }

    public void setPrintNumber(Integer printNumber) {
        this.printNumber = printNumber;
    }


    public String getAccessToken() {
        return accessToken;
    }

    public void setAccessToken(String accessToken) {
        this.accessToken = accessToken;
    }

    public String getClientId() {
        return clientId;
    }

    public void setClientId(String clientId) {
        this.clientId = clientId;
    }

    public String getAudio() {
        return audio;
    }

    public void setAudio(String audio) {
        this.audio = audio;
    }


    public String getPrintType() {
        return printType;
    }

    public void setPrintType(String printType) {
        this.printType = printType;
    }

    public String getLikeDeviceNo() {
        return likeDeviceNo;
    }

    public void setLikeDeviceNo(String likeDeviceNo) {
        this.likeDeviceNo = likeDeviceNo;
    }

    public String getUserIds() {
        return userIds;
    }

    public void setUserIds(String userIds) {
        this.userIds = userIds;
    }

    public List<String> getUserIdList() {
        return userIdList;
    }

    public void setUserIdList(List<String> userIdList) {
        this.userIdList = userIdList;
    }

    public String getPosFanoutExchange() {
        return posFanoutExchange;
    }

    public void setPosFanoutExchange(String posFanoutExchange) {
        this.posFanoutExchange = posFanoutExchange;
    }

    public String getPosQueue() {
        return posQueue;
    }

    public void setPosQueue(String posQueue) {
        this.posQueue = posQueue;
    }

    /**
     * 根据用户所属组织，平台，集团，油站查询条件
     */
    private List<String> stationIdList;

    public List<String> getStationIdList() {
        return stationIdList;
    }

    public void setStationIdList(List<String> stationIdList) {
        this.stationIdList = stationIdList;
    }

    public void setDeviceId(Long deviceId) {
        this.deviceId = deviceId;
    }

    public Long getDeviceId() {
        return deviceId;
    }

    public void setDeviceNo(String deviceNo) {
        this.deviceNo = deviceNo;
    }

    public String getDeviceNo() {
        return deviceNo;
    }

    public void setDeviceName(String deviceName) {
        this.deviceName = deviceName;
    }

    public String getDeviceName() {
        return deviceName;
    }

    public void setStationId(Long stationId) {
        this.stationId = stationId;
    }

    public Long getStationId() {
        return stationId;
    }

    public void setStationName(String stationName) {
        this.stationName = stationName;
    }

    public String getStationName() {
        return stationName;
    }

    public void setDeviceType(String deviceType) {
        this.deviceType = deviceType;
    }

    public String getDeviceType() {
        return deviceType;
    }

    public void setDeviceSerialNum(String deviceSerialNum) {
        this.deviceSerialNum = deviceSerialNum;
    }

    public String getDeviceSerialNum() {
        return deviceSerialNum;
    }

    public void setGunNo(String gunNo) {
        this.gunNo = gunNo;
    }

    public String getGunNo() {
        return gunNo;
    }

    public void setDeviceStatus(String deviceStatus) {
        this.deviceStatus = deviceStatus;
    }

    public String getDeviceStatus() {
        return deviceStatus;
    }

    public void setDeviceFactory(String deviceFactory) {
        this.deviceFactory = deviceFactory;
    }

    public String getDeviceFactory() {
        return deviceFactory;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("deviceId", getDeviceId())
                .append("deviceNo", getDeviceNo())
                .append("deviceName", getDeviceName())
                .append("stationId", getStationId())
                .append("stationName", getStationName())
                .append("deviceType", getDeviceType())
                .append("deviceSerialNum", getDeviceSerialNum())
                .append("gunNo", getGunNo())
                .append("deviceStatus", getDeviceStatus())
                .append("deviceFactory", getDeviceFactory())
                .toString();
    }
}
